LFLAGS=-lm
LIBRARY=cdbn
LIBDIR=../lib
HEADERS=cdbnlib.h
OBJS=boxmuller.o layer.o rbm.o
OS=$(shell uname)
LIBVER=1
LIBSUBVER=0.1

all: lib$(LIBRARY).a shared-$(OS)

%.o: %.c $(HEADERS)

lib$(LIBRARY).a: $(OBJS) $(HEADERS)
	ar rcs $(LIBDIR)/lib$(LIBRARY).a $(OBJS)

shared-Linux: $(OBJS) $(HEADERS)
	$(CC) -shared -Wl,-soname,lib$(LIBRARY).so.$(LIBVER) \
		-o $(LIBDIR)/lib$(LIBRARY).so.$(LIBVER).$(LIBSUBVER) $(OBJS)

shared-Darwin: $(OBJS) $(HEADERS)
	$(CC) -dynamiclib -o $(LIBDIR)/lib$(LIBRARY).dylib $(OBJS)

clean-Linux:
	rm -f $(LIBDIR)/lib$(LIBRARY).so.$(LIBVER).$(LIBSUBVER)

clean-Darwin:
	rm -f $(LIBDIR)/lib$(LIBRARY).dylib

clean: clean-$(OS)
	rm -f *.o *~ $(LIBDIR)/lib$(LIBRARY).a

